package cn.iocoder.yudao.module.member.controller.admin.praxisEntryInfo.vo;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotNull;
import java.util.Date;

@Data
@ApiModel("管理后台 - 比赛管理PraxisEntryInfoPageRespVO")
@ToString(callSuper = true)
public class PraxisEntryInfoPageRespVO {
    @ApiModelProperty(value = "主键ID" )
    private Long id;
    @ApiModelProperty(value = "企业名称" )
    private String companyName;
    @ApiModelProperty(value = "报名ID" )
    private Long entryId;

    @ApiModelProperty(value = "项目名称" )
    private String title;

    @ApiModelProperty(value = "报名(参数)数量")
    private Long entryNum;

    @ApiModelProperty(value = "最近报名时间")
    @JsonFormat(shape= JsonFormat.Shape.STRING, timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date entryTime;

    @ApiModelProperty(value = "开始时间")
    @JsonFormat(shape= JsonFormat.Shape.STRING, timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;

    @ApiModelProperty(value = "结束时间")
    @JsonFormat(shape= JsonFormat.Shape.STRING, timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    @NotNull(message = "结束时间不能为空")
    private Date endTime;

    @ApiModelProperty(value = "截止上传时间")
    @JsonFormat(shape= JsonFormat.Shape.STRING, timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date closingDate;

    @ApiModelProperty(value = "操作时间")
    @JsonFormat(shape= JsonFormat.Shape.STRING, timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    @ApiModelProperty(value = "创建者" )
    private String creator;


    @ApiModelProperty(value = "类型;1:遴选;2:初赛;3:复赛;4:决赛;" , hidden = true)
    private Integer scheduleType;

    @ApiModelProperty(value = "项目ID", hidden = true)
    private Long projectId;
    @ApiModelProperty(value = "学生ID(队长)", hidden = true)
    private Long studentId;
}
